package org.lanqiao.heuet.action;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.lanqiao.heuet.bean.UserInfoBean;

public class TestDriver {

	public static void main(String[] args) {
		// 控制台应用程序
		saveEntity();
	}
	/**
	 * 使用Hibernate保存实体对象中的数据到数据库
	 */
	private static void saveEntity(){
		//获取configuration对象，获取Hibernate配置信息对象
		Configuration cfg = new Configuration().configure();		
		//获取服务注册信息对象
		ServiceRegistry sr = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
		//创建sessionfactory对象		
		SessionFactory sf = cfg.buildSessionFactory(sr);
		//先获取Hibernate数据的管理对象 session 
		Session session = sf.openSession();
		//打开数据事务
		Transaction ts = session.beginTransaction();
		//创建一个用户信息实体对象
		UserInfoBean userInfoB = new UserInfoBean();
		//给这个bean对象非主键属性使用setter进行设值
		userInfoB.setUserName("admin");
		userInfoB.setUserPsw("admin");
		//调用session的save方法将是对象中的数据保存到数据库中
		session.saveOrUpdate(userInfoB);
		//提交事务，进行持久化处理
		ts.commit();
		//关闭session数据连接
		session.close();		
	}

}
